package m2;


import com.rabbitmq.client.Channel;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.MessageProperties;

import java.io.IOException;
import java.util.Scanner;
import java.util.concurrent.TimeoutException;

public class Producer {
    public static void main(String[] args) throws IOException, TimeoutException {
        //连接
        ConnectionFactory f = new ConnectionFactory();
        f.setHost("192.168.64.140");
//        f.setPort(5672);    //默认端口可以省略
        f.setUsername("admin");
        f.setPassword("admin");
        Channel c = f.newConnection().createChannel();

        //定义队列
        /*
            参数
                1.队列名
                2.是否是持久队列(非持久队列服务器重启后会消失)
                3.是否是排他(独占)队列 (非独占队列,允许多个消费者从同一个队列接收消息)
                4.是否自动删除(自动删除的队列,在没有消费者时,可以被服务器自动删除)
                5.队列其他属性
         */
        c.queueDeclare("task_queue", true, false, false, null);

        //发消息
        while (true){
            System.out.println("输入消息:");
            String s = new Scanner(System.in).nextLine();
            c.basicPublish("", "task_queue", MessageProperties.PERSISTENT_TEXT_PLAIN, s.getBytes());
        }
    }

}
